package com.jelly.web.modules.system.role.service;

import com.jelly.common.web.tree.Tree;
import com.jelly.web.modules.system.permission.domain.PermissionAndRole;
import com.jelly.web.modules.system.role.domain.Role;

import java.util.List;

/**
 * @创建人 ql
 * @创建时间 2018-08-29 17:01
 * @项目名称 jelly
 * @功能描述: 角色接口
 **/
public interface IRoleService {

     List<Tree<Role>> getTreeRole();

    /**
     * 获取角色下的权限tree
     * @param roleId 角色id
     * @return
     */
     List<Tree<PermissionAndRole>> getTreeRolePermission(String roleId);
    /**
     * 获取所有角色
     * @param isState 状态
     * @return
     */
     List<Role> getRole(String isState);

    /**
     * 获取所有角色
     * @param role 条件
     * @return
     */
     List<Role> getRole(Role role);

    /**
     * 获取角色详情
     * @param roleId 角色id
     * @return
     */
    Role getRoleId(String roleId);

    /**
     * 新增角色
     * @param role 条件
     * @return
     */
    boolean addRole(Role role);

    /**
     * 修改角色
     * @param role 条件
     * @return
     */
     boolean updateRole(Role role);

    /**
     * 删除角色
     * @param roleId 条件
     * @return
     */
    boolean delectRole(String roleId);


}
